package com.ruoyi.news.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.news.domain.XcxGoodsOrder;
import com.ruoyi.news.domain.XcxOrderMain;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单主Service接口
 * 
 * @author ruoyi
 * @date 2024-10-24
 */
public interface IXcxOrderMainService 
{
    /**
     * 查询订单主
     * 
     * @param id 订单主主键
     * @return 订单主
     */
    public XcxOrderMain selectXcxOrderMainById(String id);

    /**
     * 查询订单主列表
     * 
     * @param xcxOrderMain 订单主
     * @return 订单主集合
     */
    public List<XcxOrderMain> selectXcxOrderMainList(XcxOrderMain xcxOrderMain);


    public List<XcxOrderMain> selectListMyOrder(XcxOrderMain xcxOrderMain);

    /**
     * 新增订单主
     * 
     * @param xcxOrderMain 订单主
     * @return 结果
     */
    public XcxOrderMain insertXcxOrderMain(XcxOrderMain xcxOrderMain, SysUser sysUser);

    /**
     * 修改订单主
     * 
     * @param xcxOrderMain 订单主
     * @return 结果
     */
    public int updateXcxOrderMain(XcxOrderMain xcxOrderMain);

    /**
     * 批量删除订单主
     * 
     * @param ids 需要删除的订单主主键集合
     * @return 结果
     */
    public int deleteXcxOrderMainByIds(String[] ids);

    /**
     * 删除订单主信息
     * 
     * @param id 订单主主键
     * @return 结果
     */
    public int deleteXcxOrderMainById(String id);



    int takeOrder(XcxOrderMain xcxOrderMain);

    int closeOrder(XcxOrderMain xcxOrderMain);

    int successBack(XcxOrderMain xcxOrderMain);

    int noBack(XcxOrderMain xcxOrderMain);

    int canceBackOrder(XcxOrderMain xcxOrderMain);

    int cancelOrder(XcxOrderMain xcxOrderMain, String raid);

    int updateMoney(XcxOrderMain xcxOrderMain);

    int sendBackOrder(XcxOrderMain xcxOrderMain);

    int sendCanceBack(XcxOrderMain xcxOrderMain);

    int successSendBack(XcxOrderMain xcxOrderMain);

    int noSendBack(XcxOrderMain xcxOrderMain);

    int successOrder(XcxOrderMain xcxOrderMain);

    int confSuccess(XcxOrderMain xcxOrderMain, String raid);

    int uploadTakeImg(XcxOrderMain xcxOrderMain);

    int deleteOrder(XcxOrderMain xcxOrderMain);

    int arbitrationOrder(XcxOrderMain xcxOrderMain);


    int deleteGoodsOrder(XcxGoodsOrder xcxGoodsOrder);

    int successGoods(XcxGoodsOrder xcxGoodsOrder);

    int backGoods(XcxGoodsOrder xcxGoodsOrder);

    int confSuccess(XcxGoodsOrder xcxGoodsOrder);

    int successBackGoods(XcxGoodsOrder xcxGoodsOrder);

    int noBackGoods(XcxGoodsOrder xcxGoodsOrder);


}
